package empe;

import java.util.Random;


/**
 * Gere uma concretizacao da classe Evento.
 */
public class Morte extends Evento {


	public Morte(int t_actual, Individuo indiv) {
		individuo = indiv;
		tempo =  t_actual + calcular_tempo() + 1;
	}


	/**
	 * Gera uma observacao da variavel aleatoria
	 * @return valor (int) da observacao da variavel aleatoria
	 */
	protected int calcular_tempo() {
		Random random = new Random();
		double rand = random.nextDouble();
		
	
		return (int) Math.round(Math.abs(1-Math.log(1-individuo.ler_conforto())*Controlo.ler_micro()*Math.log(1.0-rand)));

	}	


	/**
	 * Remove o individuo, recorrendo a' funcao remover_individo
	 * @return null para indicar a' CAP que nada mais ha' a fazer.
	 */
	protected Evento simular() {

		Controlo.lista_individuo.remover_individuo(individuo);

		return null;
	}


}


